#ifndef _PARAMS_H
#define _PARAMS_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define PORT 5150
#define MSGSIZE 1412
#define MAX_FRAMES 5000
#define SPEED 20

#define MAX_X 1500
#define MAX_Y 700

#define M_PI 3.14159265358979323846 

#define USE_CLIENT_BUFFER

enum MessageType {
    //Client
    GetFrames,
    MoveSprite,

    //Server
    None
};

typedef struct {
    UINT uiMagic;
    UINT uiSequence;
    MessageType type;
    INT nMessageLen;
    BYTE btMessage[1];
}ExchangeData, *PExchangeData;

typedef struct {
    double dDirX;
    double dDirY;

}Direction;

typedef struct { 
    void (*DrawBee)(CPoint& position, CSize& size, INT nStep, double dRad, BOOL bIsPlayer);
    void (*DrawBeeInside)(CPoint& position, CSize& size, INT nStep, double dRad, BOOL bIsPlayer);
    void (*DrawFlower)(CPoint& position, CSize& size);
    void (*DrawHive)(CPoint& position, CSize& size);

}DrawFunctions;

typedef struct
{
    SOCKET hSocket;
    SOCKADDR_IN socketAddr;
    INT nSocketAddrLen;

}SOCKET_PARA, *PSOCKET_PARAM;

#endif
